home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 026 (1987-08-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 026 (1987-08-15)(Ossowski, Stefan)(DE)(PD).adf / Wombat / Wtp.doc < prev    next >
Text File  |  2014-07-25  |  39KB  |  960 lines

  1.  
  2.  
  3.  
  4.  
  5.             the Wombat Terminal Program (WTP)
  6.             Amiga Version 3.01, November 1986
  7.               Documentation file "Wtp.doc"
  8.  
  9.  
  10.         Both this document and the executable file "Wtp" are
  11.             Copyright (C) 1986 by Dave Warker
  12.                 (who is Wombat Software.)
  13.  
  14.                 Delphi:     DAVEWARKER
  15.                 Compuserve: 70406,626
  16.  
  17.  
  18.  
  19.  
  20.     THE PROGRAM "the Wombat Terminal Program (Wtp)" AND IT'S DOCUMENTATION
  21.     ARE DISTRIBUTED FREE OF CHARGE.  THE AUTHOR AND COPYRIGHT HOLDER GRANTS
  22.     PERMISSION FOR ANYONE TO DISTRIBUTE COPIES OF THESE FILES PROVIDED THEY
  23.     ARE DISTRIBUTED FREE OF CHARGE AND NO LIMITATION IS PLACED ON FURTHER
  24.     REDISTRIBUTION.
  25.  
  26.  
  27.     1.  What and why is "Wtp"?
  28.         a. General features.
  29.         b. Distributed files.
  30.         c. Required system resources.
  31.         d. Optional system resources.
  32.         e. Running Wtp.
  33.  
  34.     2.  Communications Port Settings.
  35.         a.  Baud rate.
  36.         b.  Character format (size & parity.)
  37.         c.  Stop bits.
  38.         d.  XON/XOFF handshaking.
  39.  
  40.     3.  User Preferences.
  41.         a.  Cursor style.
  42.         b.  Bell options.
  43.  
  44.     4.  User Programmable Function Keys.
  45.  
  46.     5.  VT-102 Terminal Emulation:
  47.         a.  Supported features.
  48.         b.  Unsupported features.
  49.         c.  Extensions and differences.
  50.  
  51.     6.  File Transfers:
  52.         a.  Text capture.
  53.         b.  XMODEM transmission.
  54.  
  55.     7.  Auto-dialing.
  56.  
  57.     8.  Wtp Saved Settings Files.
  58.         a.  Saving current settings.
  59.         b.  Reloading settings.
  60.  
  61.     9.  Miscellaneous Features.
  62.  
  63.     A.  Revision history:
  64.         a.  Changes from Version 2 to Version 3.
  65.  
  66.     B.  Things You Probably Didn't Want to Know:
  67.         a.  Format of saved Settings file.
  68.  
  69.  
  70. 1.  What and Why is Wtp?
  71.     ---- --- --- -- ---
  72.  
  73.     "Wtp" is a terminal emulation program which (currently) only runs on
  74. the Commodore Amiga (tm) personal computer.  Why it was written is basically
  75. because it's author wanted to learn how to use the many wierd and wonderfull
  76. capabilities of the Amiga and terminal programs are something he has had
  77. some appreciable experience writing.  Also, at the time when Wtp was started,
  78. available Amiga terminal programs were very limited (now we have lots and lots
  79. of the little buggers of just about any concievable combination of features.)
  80.  
  81.     a. General Features of Wtp:
  82.        ------- -------- -- ---
  83.  
  84.     - DEC VT-102 terminal emulation.  "Wtp" provides a very complete emulation
  85.       including:  all editing functions, keypad & function keys, character sets
  86.       including special graphics and line drawing, VT-52 emulation, video
  87.       atributes, tabs and other functions. See the section on VT-102 compat-
  88.       ibility for a more complete list. The VT102 emulation has been tested
  89.       with EDT, Emacs and a special compatibility tester.
  90.  
  91.     - Both XMODEM & text capture file transfers.  A fast XMODEM receive option
  92.       is also provided.
  93.  
  94.     - Programmable function keys.
  95.  
  96.     - Supports baud rates to 19200 and various character formats.
  97.  
  98.     - Options for visual, tone or speech bell. Speech bell phoneme string
  99.       is user-programmable.  Several cursor styles are supported.
  100.  
  101.     - Auto-dialing.
  102.  
  103.     - Saving and loading of settings files which include the function keys,
  104.       communications, transfer & user preference options and an auto-dial
  105.       phone number. Can auto-dial on load of a settings file.
  106.  
  107.  
  108.     b. Distributed Files:
  109.        ----------- -----
  110.  
  111.     NOTE: Wtp is distributed FREE OF CHARGE!
  112.  
  113.     The "Wtp" distribution for version 3 consists of the following files:
  114.  
  115.     "Wtp"               the executable file for Wtp.
  116.     "Wtp.inf"           an Icon file for Wtp, -- RENAME TO "Wtp.info" --
  117.     "Wtp.doc"           this documentation file.
  118.     "sgTopaz.fnt"       modified Topaz font which includes special graphics.
  119.     "sgTopaz.8"         additional font data for "sg_topaz".
  120.     "InstalSg"          EXECUTE file to install "sg_topaz" in FONTS: directory.
  121.  
  122.     The "sg_Topaz" files are only required if the VT-102 special graphics
  123.     character set is desired.
  124.  
  125.  
  126.     c. Required System Resources:
  127.        -------- ------ ---------
  128.  
  129.     Basic use of "Wtp" will require the presence of the following system
  130.     resources:
  131.  
  132.         "DEVS:serial.device"     serial port driver.
  133.  
  134.  
  135.     d. Optional System Resources:
  136.        -------- ------ ---------
  137.  
  138.     Some features require the presence of additional system resources:
  139.  
  140.     Use of the VT-102 special graphics character set:
  141.         "FONTS:sg_Topaz.font"       Modified font containing special graphics.
  142.         "FONTS:sg_Topaz/8"          (both are provided in this package.)
  143.  
  144.     Use of the speech bell:
  145.         "DEVS:narrator.device"      Speech output device.
  146.  
  147.  
  148.     e. Running Wtp:
  149.        ------- ---
  150.  
  151.     Wtp may be started from either the CLI or Workbench, though the CLI is
  152. currently the only way to start Wtp with a non-default Settings file. Support
  153. for Workbench settings icons will be added if the demand is high enough.
  154.  
  155.     Workbench start:
  156.         double click on the Wtp "wombat" icon.
  157.  
  158.     CLI start:
  159.         enter:  "wtp <settings>", where <settings> is the optional file path
  160.             for an existing Wtp saved settings file which will be used for the
  161.             default settings after Wtp loads.
  162.  
  163. If no settings file is specified Wtp will search the current directory and then
  164. the directory "SYS:wtp" for a settings file named "default.wtp". If found it's
  165. contents will be used for the default settings, otherwise a reasonable set of
  166. default values hardwired into Wtp will be used.
  167.  
  168.      When Wtp finishes loading you should see a blank screen with a cursor
  169. in the upper left corner and with the current time displayed on the bottom
  170. (status) line with the elapsed session time, which will be 00:00 hours,
  171. to the right.  If instead you see an alert box then Wtp could not start up
  172. due to lack of some required resource.  The possible alerts are:
  173.  
  174.     "Can't open window"
  175.     Wtp could not open the Intuition window to be used for it's
  176.     output. Probably due to a lack of memory.
  177.  
  178.     "Can't get cursor sprite"
  179.     The cursor used in Wtp is actually a hardware sprite. You may
  180.     get this error if some other application has grabbed up all
  181.     the available sprites.
  182.  
  183.     "Can't open timer"
  184.     "Can't open serial Port"
  185.     There was insufficient memory to allocate the MsgPorts or
  186.     IORequests needed for serial or timer device operation, or
  187.         the "serial.device" file is not present on the system.
  188.  
  189.      If you do not get an Alert you are up and running and should peruse
  190. the menu options to inspect/change the settings as needed.
  191.  
  192.      Note that the session time is the elapsed time, in hours and minutes,
  193. since you started the current call or since you reset it via the "reset
  194. session time" menu option.  The current time is displayed in standard
  195. Amiga 24 hour format.
  196.  
  197.  
  198. 2.  Communications Port Settings:
  199.     -------------- ---- --------
  200.  
  201.     Wtp uses the built-in serial port for communications.  The settings
  202. controlling serial port operation are placed in the "Port" menu.  All serial
  203. port settings are saved in "Settings" files. Wtp will restore the serial port
  204. back to your Preferences settings when it exits.
  205.  
  206.     a. Baud Rate:
  207.        ---- ----
  208.  
  209.     The "baud rate" menu item sets the receive and transmit speed. Available
  210. rates are: 300, 600, 1200, 2400, 4800, 9600 & 19200.  Note that while Wtp can
  211. communicate at all these speeds, it cannot display characters faster than
  212. about a 4800 baud rate.  This means that you will have to use XON/XOFF hand-
  213. shaking or padding characters for 9600 and 19200 baud operation.
  214.  
  215. The default baud rate is 1200 baud.
  216.  
  217.  
  218.     b.  Character Format:
  219.         --------- ------
  220.  
  221.     Character format refers to the size, in bits, of transmitted and received
  222. characters: 7 or 8 bits, and also to the optional parity bit appended to the
  223. characters.  Available parity modes are:
  224.  
  225.     "no parity"             No parity bit sent.
  226.     "even parity"           Parity bit set to keep count of 1 bits even.
  227.     "odd parity"            Parity bit set to keep count of 1 bits odd.
  228.     "space parity"          Parity bit is set to 0.
  229.     "mark parity"           Parity bit set to 1.
  230.  
  231. Most systems can use either "7 bits/space parity" or "8 bits/no parity."
  232.  
  233. The default character format is "7 bits/space parity."
  234.  
  235.  
  236.     c.  Stop Bits:
  237.         ---- ----
  238.  
  239.     Stop bits are 1 bits appended to the end of transmitted characters which
  240. separate successive characters.  The receiver hardware uses stop bits to
  241. determine that it has reached the end of the current character.  Most systems
  242. expect 1 stop bit, though will work fine with 2 but at a lower rate since the
  243. time to send the extra stop bit eats up available transfer time.  There is
  244. normally no need to run with 2 stop bits but the capability has been provided
  245. in the event that some system requires it.
  246.  
  247.     Note that due to hardware limitations within the Amiga serial port, you
  248. cannot specify 2 stop bits if you have specified 8 data bits AND a parity bit.
  249. Wtp allows you to make the selection but only 1 stop bit will actually be used.
  250.  
  251. Default value is 1 stop bit.
  252.  
  253.  
  254.     d.  XON/XOFF Handshaking:
  255.         -------- -----------
  256.  
  257.     Some terminal functions take longer than a single character transmission
  258. time to execute, therefore the potential exists for the host system to send
  259. data so fast to the terminal that the internal 512 character buffer is
  260. overflowed causing the loss of some data.  Also some systems can lose data
  261. sent by the terminal (especially from function keys) if it is sent too fast.
  262. To prevent loss of data, most systems will respond to and (possibly) also
  263. generate XON/XOFF handshaking.
  264.  
  265.     If either the terminal or the host are falling behind too far they sen
  266. an XOFF character (CONTROL-S) to the other device which then stops sending.
  267. When the receiving device has caught up it then sends an XON character
  268. (CONTROL-Q) and the sending device then continues sending data.
  269.  
  270.     Wtp will both send and receive the XON/XOFF handshaking protocol based
  271. on the setting of the option in the "Port" menu.
  272.  
  273.     Note that XMODEM transmission does not require XON/XOFF handshaking and
  274. will temporarily turn it off during an XMODEM send or receive transfer.
  275.  
  276. The default setting is XON/XOFF handshaking turned on.
  277.  
  278.  
  279. 3.  User Preferences:
  280.     ---- -----------
  281.  
  282.     Wtp maintains several options which are basically user preference items.
  283. The settings of all these options are preserved in saved Settings files.
  284.  
  285.  
  286.     a.  Cursor style:
  287.         ------ -----
  288.  
  289.     Cursor styles available in the "Screen" menu:
  290.  
  291.     "solid underline"       two pixel line at bottom of character.
  292.     "solid box"             hollow box around character.
  293.     "blink underline"       blinking version of solid underline.
  294.     "blink box"             blinking version of solid box.
  295.  
  296.     Note that the blink rate is fixed. No menu option is given to change
  297. the blink rate but the actual rate is stored in Settings files and may be
  298. changed with a binary file editor.  See section "B" for placement of the
  299. blink rate in the settings file.
  300.  
  301.  
  302.     b.  Bell Options:
  303.         ---- -------
  304.  
  305.     Several different bell options are provided in the "Screen" menu:
  306.  
  307.     "visual"        Screen will be flashed.
  308.     "beep"          A 1 khz square wave tone is sounded for about 1/2 second.
  309.     "speech"        The "narrator" device is used as a spoken bell.
  310.  
  311.     Both the "speech" and "beep" options require that a speaker be attached
  312. to the Amiga on either channel.  The "speech" bell also requires that the
  313. "narrator.device" file be present in the DEVS: directory.
  314.  
  315.     The bell is sounded at various times.  The "visual" and "beep" bells
  316. are always the same.  The "speech" bell uses different phrases for different
  317. events:
  318.  
  319.     1. When the terminal receives a BELL character (CONTROL-G):
  320.         the default phrase is "Attention", though the actual phoneme string
  321.         spoken can be edited through the "edit speech bell" item in the
  322.         "Screen" menu. Note that nothing will be spoken if you enter an
  323.         illegal phoneme string.  See the ROM Kernel Manual for phoneme
  324.         formats.
  325.  
  326.     2. At the end of an XMODEM send file transfer:
  327.         "upload complete."
  328.  
  329.     3. At the end of an XMODEM receive file transfer:
  330.         "download complete."
  331.  
  332.     4. On 1st, and every 10th error during XMODEM file transfer:
  333.         "error."
  334.  
  335.     5. When XMODEM file transfer is aborted by user or too many errors:
  336.         "transfer aborted."
  337.  
  338.     6. When a new Settings file is loaded & when bell type set to "speech":
  339.         "ok."
  340.  
  341.     7. At end of XMODEM receive in fast mode if an error occurred:
  342.         "file is not complete."
  343.  
  344.     8. If VT-102 keyboard lock is in effect and a key is pressed:
  345.         "keyboard is locked."
  346.  
  347.  
  348. 4.  User Programmable Function Keys:
  349.     ---- ------------ -------- ----
  350.  
  351.     Wtp allows character strings to be attached to all ten function keys in
  352. both shofted and unshifted form.  Each definition may be up to 256 bytes long.
  353. All definitions are saved in a Settings file when the "Save Settings" menu
  354. option is executed and will be restored by a "Load settings".
  355.  
  356.  
  357.     a.  Programing a Function Key:
  358.         ---------- - -------- ---
  359.  
  360.     Any unprogrammed function key, and by default this is all ten, will
  361. transmit a VT-102 compatible function key ID string (see section 5 for details)
  362. To program a string onto a function key you press either the left or right
  363. AMIGA keys and the function key to br programmed.  Pressing the SHIFT key too
  364. will program the shifted version of the function key.
  365.     A string requester will pop up on the screen with a text box showing the
  366. current string programmed on the specified key.  Click in the text box to
  367. activate it and then enter or edit the definition for that key.  The following
  368. special character sequences are recognized:
  369.  
  370.     '^ch' (up-arrow followed by a character 'ch'):
  371.         Enters a control character into the string. 'ch' should be a character
  372.         between 'A' and '_'. Examples:
  373.             '^M' inserts a carriage return (CONTROL-M),
  374.             '^[' inserts an ESCAPE.
  375.  
  376.     '\^' (backslash up-arrow):
  377.         Enters a single up-arrow in the string.
  378.  
  379.     '\\' (backslash backslash):
  380.         Enters a single backslash.
  381.  
  382. Press RETURN or click the 'OK' box to accept the definition. Clicking in the
  383. 'Cancel' box will abort the changes made to that key.  Any characters entered
  384. beyond the 256th will be dropped.  Enter an empty string to return a function
  385. key back to it's VT102 definition.
  386.  
  387.  
  388.     b.  Invoking a Programmed Function Key:
  389.         -------- - ---------- -------- ---
  390.  
  391.     Just press the function key or SHIFT and the function key and the
  392. programmed string will be transmitted out and also echoed to the screen if
  393. local echo is turned on.
  394.  
  395.  
  396. 5.  VT-102 Terminal Emulation:
  397.     ------ -------- ---------
  398.  
  399.     Wtp emulates many of the features of the DEC VT-102 terminal, too many to
  400. fully detail here.  All supported control and escape sequences will be listed
  401. but you should refer to a VT-102 manual for detailed functioning of each
  402. command.  Detailed info is given for areas where the Wtp implementation differs
  403. from the VT-102.
  404.  
  405.  
  406. a.  Supported Features:
  407.     --------- --------
  408.  
  409.     KEYBOARD FUNCTIONS:
  410.     -------- ---------
  411.  
  412. Function keys:
  413.     VT-102 function keys PF1 through PF4 are supported as Amiga keys F1 - F4
  414.     in all VT-102 modes including application and VT-52.  Additionally, Amiga
  415.     keys F5 through F10 generate sequences which are similar to and extensions
  416.     of the standard four function keys. F1 through F4 use generate final char-
  417.     acters in the range 'P' through 'S', F5 through F10 use 'T' through 'Y'.
  418.  
  419. Cursor arrow pad:
  420.     Fully supported in all VT-102 modes.
  421.  
  422. Numeric keypad:
  423.     Fully supported in all VT-102 modes.  The missing keypad comma (,) key can
  424.     be generated by pressing the ALT key and the keypad period (.) key.
  425.  
  426. Short and long BREAK generation:
  427.     Supported on the Amiga 'HELP' key as follows: 'ALT HELP' = short break,
  428.     'SHIFT ALT HELP' = long break.
  429.  
  430. Keyboard related control sequences:
  431. (* = also available in the 'Screen' menu)
  432.     ESC [ 2 h/l     lock/unlock keyboard
  433.     ESC [ 12 h/l   *turn on/off keyboard local echo
  434.     ESC [ 20 h/l   *enable/disable linefeed newline
  435.     ESC [ ? 1 h/l   cursor pad application mode on/off
  436.     ESC [ ? 2 l    *enter VT52 mode (changes pad sequences.)
  437.     ESC [ ? 8 h/l  *enable/disable keyboard auto-repeat
  438.     ESC =           set keypad application mode (VT102 & VT52 modes)
  439.     ESC >           set keypad numeric mode (VT102 & VT52 modes)
  440.  
  441.  
  442.     CHARACTER SETS:
  443.     --------- ----
  444.  
  445.     Character set mapping and selection are supported.  The special character
  446. and line drawing character set is supported if the optional character set
  447. "sg_Topaz" exists in the FONTS: directory.  The default mappings are:
  448. G0 = US ASCII set, G1 = special characters & line drawing set.
  449.  
  450. Character set mapping and selection sequences:
  451.     SO (CONTROL-N)      selects G1 set as current set.
  452.     SI (CONTROL-O)      selects G0 set as current set.
  453.     ESC ( x             maps character set 'x' as current G0 set,
  454.     ESC ) x             maps character set 'x' as current G1 set:
  455.                         'x' = 'A' for the UK character set (mapped to US set)
  456.                             = 'B' for the US character set
  457.                             = '0' for the special graphics set
  458.                             = '1' for alternate ROM set (treated same as 'B')
  459.                             = '2' for alternate ROM special chars (same as '0')
  460.     ESC F               in VT52 mode, selects special graphics set.
  461.     ESC G               in VT52 mode, selects normal US set.
  462.  
  463.  
  464.     VIDEO ATTRIBUTES:
  465.     ----- ----------
  466.  
  467.     Fully supported, though the blinking attribute is mapped as a color change
  468. since fully supporting blinking would require more than 2 color planes. Normal
  469. color usage is: character foreground = color reg 1, character background =
  470. color reg 0.
  471.  
  472. Video attribute sequences:
  473.     ESC [ attr; attr; ... m     Select video attributes, 'attr's are:
  474.                                 0 = reset all attributes to normal
  475.                                 1 = bold on (color register 2)
  476.                                 4 = underline on
  477.                                 5 = blink on (color register 3)
  478.                                 7 = inverse video on
  479.  
  480.     example: 'ESC[0;1;7m'     selects inverse bold video.
  481.  
  482.  
  483.     CURSOR MOVEMENT:
  484.     ------ --------
  485.  
  486. Cursor movement sequences:
  487. (* = also available in 'Screen' menu)
  488.     BS (CONTROL-H)          backspace
  489.     HT (CONTROL-I)          horizontal tab to next tab stop
  490.     LF (CONTROL-J)          line feed, scroll if bottom of scroll region.
  491.     VT (CONTROL-K)          vertical tab, same as LF.
  492.     FF (CONTROL-L)          form feed, same as LF.
  493.     CR (CONTROL-M)          carriage return, move cursor to column 1.
  494.  
  495.     ESC [ ? 6 h/l           set screen origin to scroll region/screen.
  496.     ESC [ ? 7 h/l          *enable/disable auto-wrap at right margin.
  497.     ESC [ 'top' ; 'bot' r   set scrolling region bounds, ex: 'ESC[1;12r'
  498.     ESC [ 'count' A         cursor up 'count' lines.
  499.     ESC [ 'count' B         cursor down 'count' lines.
  500.     ESC [ 'count' C         cursor right 'count' lines.
  501.     ESC [ 'count' D         cursor left 'count' lines.
  502.     ESC [ 'row' ; 'col' H   position cursor to 'row', 'col', eg: ESC[H homes.
  503.     ESC [ 'row' ; 'col' f   same as position cursor above.
  504.  
  505.     ESC D                   perform a line feed
  506.     ESC M                   reverse line feed, scroll at top of scroll region.
  507.     ESC E                   new line, same as CR then LF.
  508.     ESC 7                   saves cursor position, attributes, char sets.
  509.     ESC 8                   restores cursor position, etc.
  510.     ESC H                   set a tab stop at current cursor position.
  511.     ESC [ g or ESC [ 0 g    clear tab stop at current position.
  512.     ESC [ 3 g               clear all tab stops.
  513.  
  514.  
  515.     EDITING FUNCTIONS:
  516.     ------- ---------
  517.  
  518. Editing sequences:
  519. (* = also available in 'Screen' menu)
  520.     ESC [ K or ESC [ 0 K    erase to end of line.
  521.     ESC [ 1 K               erase start of line to cursor.
  522.     ESC [ 2 K               erase entire line.
  523.     ESC [ J or ESC [ 0 J    erase cursor to end of screen.
  524.     ESC [ 1 J               erase start of screen to cursor.
  525.     ESC [ 2 J              *erase entire screen.
  526.  
  527.     ESC [ 4 h/l             turn insert mode on/off.
  528.     ESC [ 'count' P         delete 'count' chars from line at cursor pos.
  529.     ESC [ 'count' L         insert 'count' lines above cursor in scroll region.
  530.     ESC [ 'count' M         delete 'count' lines at cursor in scrolling region.
  531.  
  532.  
  533.     REPORTS:
  534.     -------
  535.  
  536.     All reports are supported, though some simply send fixed responses.
  537.  
  538. Report sequences:
  539.     ESC [ 5 n               terminal status (always reports terminal ok.)
  540.     ESC [ ? 15 n            printer status (always reports no printer.)
  541.     ESC [ 6 n               reports current cursor position.
  542.     ESC [ c or ESC [ 0 c    device attributes (reports I am a VT102)
  543.     ESC Z                   same as device attributes report.
  544.  
  545.  
  546.     MISCELLANEOUS SEQUENCES:
  547.     ------------- ---------
  548.  
  549. Miscellaneous sequences:
  550. (* = also available in 'Screen' menu)
  551.     NUL (CONTROL-@)         padding character, ignored.
  552.     ENQ (CONTROL-E)         transmits answerback (defined in 'Screen' menu)
  553.     BEL (CONTROL-G)         ring terminal bell.
  554.     CAN (CONTROL-X)         aborts any escape sequence in progress.
  555.     SUB (CONTROL-Z)         treated same as CAN.
  556.  
  557.     ESC c                  *resets terminal to default state.
  558.     ESC # 8                 displays screen full of 'E's.
  559.     ESC [ ? 2 l             enter VT52 mode.
  560.  
  561.  
  562.     VT52 MODE SEQUENCES:
  563.     ---- ---- ---------
  564.  
  565.     The following sequences replace the normal VT102 sequence set while in
  566. VT52 mode. Note that you can set/reset VT52 mode from the 'Screen' menu. A
  567. program enters VT52 mode through the ANSI 'ESC [ ? 2 l' sequence.
  568.  
  569. Other VT52 sequences:
  570.     ESC <                   exit back to ANSI mode.
  571.     ESC A                   cursor up 1 line.
  572.     ESC B                   cursor down 1 line.
  573.     ESC C                   cursor right 1 character.
  574.     ESC D                   cursor left 1 character.
  575.     ESC H                   home cursor.
  576.     ESC Y 'row' 'col'       position cursor, 'row' & 'col' = # + 32
  577.     ESC I                   reverse line feed.
  578.     ESC K                   erase to end of line.
  579.     ESC J                   erase to end of screen.
  580.     ESC Z                   identify terminal (replies: 'ESC / Z')
  581.  
  582.  
  583.     b.  Unsupported VT102 features:
  584.         ----------- ----- --------
  585.  
  586.     The following VT102 sequences have not been implemented mainly due to
  587. their usefullness not being worth the extreme difficulties involved. Maybe
  588. later guys.
  589.  
  590.     Note that though these functions are not supported, they will be accepted
  591. by Wtp and discarded.
  592.  
  593. Unsupported VT102 sequences:
  594.     ESC [ ? 3 h/l           132 columns, not enough screen resolution to do it.
  595.     ESC [ ? 4 h/l           smooth scroll. Come on, who really uses this.
  596.     ESC [ ? 5 h/l           screen reverse video. Tough to reverse all colors.
  597.     ESC N, ESC O            single shifts into G2 & G3 sets, no one uses them.
  598.     ESC # 3, 4, 5, 6        double wide/high lines are a bitch to do right.
  599.     ESC [ 'tests' y         self-tests.
  600.     ESC [ 'led' q           turn on/off LED.
  601.  
  602.     ESC [ ? 18 h/l          none of these printing functions are implemented:
  603.     ESC [ ? 19 h/l
  604.     ESC [ ? 0, 1, 5, 4 i
  605.     ESC ^, ESC -
  606.     ESC W, ESC X
  607.     ESC ]
  608.     ESC V
  609.  
  610.  
  611.     c.  Extensions and Differences:
  612.         ---------- --- -----------
  613.  
  614.     The 'Screen' menu option 'mouse cursor keys' enables the use of the mouse
  615. as an alternate method of moving the cursor.  Click on the screen with the left
  616. mouse button and Wtp will transmit the proper cursor movement key commands to
  617. cause the host to move it's cursor to the desired location.
  618.  
  619.  
  620. 6.  File Transfers:
  621.     ---- ---------
  622.  
  623.     Wtp provides two transfer methods: simple text capture and XMODEM protocol
  624. transfers.  XMODEM transfers may be either "text" or "binary" transfers, the
  625. simple text capture transfers are always "text" mode.
  626.  
  627.     "Binary" transfers will transmit and receive all possible 8 bit character
  628. codes without altering them in any way. This is required when transferring
  629. executable or library files.  Selecting a binary transfer will temporarily
  630. force the terminal into "8 bit, no parity" character format for the duration
  631. of the transfer.
  632.  
  633.     "Text" mode transfers assume that the data being moved is 7 bit data and
  634. will automatically convert between the Amiga end of line character convention
  635. (a single line feed) and other conventions (carriage return or carriage return
  636. and line feed.)  Any non-text characters may also be stripped from the transfer
  637. by setting the appropriate option.  The state of the "text" mode transfer
  638. options may be inspected and changed through the "Text transfer options" sub-
  639. menu in the "File" menu.  Note that the line feed translation option specifys
  640. both how to convert out-going LFs and how to convert in-coming end of line
  641. sequences into single LFs.
  642.  
  643.  
  644.     TEXT FILE CAPTURE:
  645.     ---- ---- -------
  646.  
  647.     Text file capture will save characters that are displayed on the screen in
  648. a file that you specify.
  649.  
  650.     Selecting the "capture text to a file" item in the "File" menu brings up
  651. a file requester into which you enter the name of the file into which you wish
  652. to save the text.  Pressing RETURN or clicking in 'ok' will start capturing
  653. text, clicking in 'Cancel' will abort the text capture operation. You may have
  654. to click in the text box before typing the file name.
  655.  
  656.     During the text capture operation, the left half of the bottom status line
  657. will display the name of the file which is receiving the text.  All text
  658. transfer options specified in the "Text transfer options" sub-menu will be
  659. applied to the received data. Selecting "STOP CAPTURING TEXT" in the "File"
  660. menu will terminate text capture and close the file.
  661.  
  662.  
  663.     SENDING A TEXT FILE:
  664.     ------- - ---- ----
  665.  
  666.     The "send a text file" option in the "File" menu prompts you for the name
  667. of an existing file.  After you enter the name of the file, and press RETURN or
  668. click 'ok', Wtp will open the specified file and begin sending it's contents
  669. out the host port just as if you were entering it from the keyboard. Non-text
  670. character and LFs will be processed as per the "Text file options" sub-menu
  671. settings.  The bottom right half of the status line will display the name of
  672. the file being sent during the transfer.
  673.  
  674.     Selecting "STOP TEXT FILE SEND" in the "File" menu will abort an ongoing
  675. file send.
  676.  
  677.     After the file has been completely sent, it is closed and the status line
  678. will rever to displaying the current and session times.
  679.  
  680.  
  681.     XMODEM FILE TRANSFERS:
  682.     ------ ---- ---------
  683.  
  684.     The XMODEM file transfer protocol is a method of transmitting a file
  685. between computers which was created by Ward Christensen for use on CP/M
  686. systems.  The protocol is simple enough to implement and reliable enough that
  687. it has become the standard for most personal computers.  Wtp implements the
  688. basic XMODEM protocol and also a few extensions.
  689.  
  690.     Note that Wtp now leaves the "send to back" and "bring to front" items in
  691. the "Stuff" menu enabled during the transfer so that you can continue doing
  692. other work while the transfer takes place.  You should use "run Wtp" from the
  693. CLI if you want Wtp to run in the background.
  694.  
  695.     "CRC checksums."  XMODEM achieves it reliability by sending a file in small
  696. chunks (records) and including a checksum which the receiver uses to verify the
  697. integrity of the record.  The simple XMODEM checksum technique just adds the
  698. ASCII values of ann the characters in the record, which is simply but can
  699. potentially miss some types of errors.  The CRC checksum option uses a
  700. different checksum method which can catch many mor transmission errors and
  701. so it is the method of choice.
  702.     The receiver in an XMODEM transfer can tell the sender which checksum
  703. method it wants to use.  The "use CRC checksums" option in the "XMODEM
  704. transfer options" sub-menu of the "File" menu (pause to take a breath)
  705. specifies whether you want Wtp to request a CRC transfer when receiving a
  706. file and whether to accept a CRC request when sending a file.
  707.     You should normally leave the CRC option set unless you know that the
  708. system you are using does not accept CRC checksums.  The transfer would work
  709. anyway but it speeds up the start of the transfer if Wtp knows not to try
  710. for CRC.
  711.  
  712.     The other extension to XMODEM used by Wtp is more non-standard.  When
  713. receiving a file from a large system, such as Delphi or Compuserve, there can
  714. be a noticable delay between records sent by the system to your computer. This
  715. means that you wasting expensive connect time waiting for their computer to
  716. get around to sending data.  There is a simple but dangerous way to speed up
  717. these transfers substantially.
  718.     The trick involves fooling the system into starting to fetch the next
  719. record while the current record is being sent. The danger of this option is
  720. that if any legitimate transmission errors occur they will not be handled
  721. properly and the final file will have corrupted data. Wtp will inform you of
  722. the corruption but the transfer has basically been wasted.  If you have a very
  723. clean connection and want to risk it, the "fast/unforgiving receive" XMODEM
  724. option can drastically speed up your transfers.  I have used it heavily with
  725. Delphi with no ill effects (though mostly under Uninet, what Telenit and
  726. Tymnit will do is anybody's guess.)
  727.  
  728.  
  729.     RECEIVING A FILE USING XMODEM:
  730.     --------- - ---- ----- ------
  731.  
  732.     Do whatever you have to do to get the host system to start an XMODEM
  733. transmission to your system.
  734.  
  735.     Select either "XMODEM (text) receive" or "XMODEM (binary) receive" from the
  736. "File" menu and enter the name of the file to receive in the requester, you
  737. may have to click in the text box first though (unless I can get 1.2 to work
  738. properly :-)  A "text" receive will convert the received data into Amiga text
  739. using the current "Text transfer options", "binary" transfers leave the data
  740. alone.  The status line will display the type of transfer, the name of the
  741. file and some additional info including: the number of 128 byte records
  742. received so far this transfer (0), the total bytes written to the file (0) and
  743. the number of records which had an error and had to be re-transmitted (0).
  744.  
  745.     If all goes well, within about 5 to 10 seconds you should see the received
  746. record count start to increment. If the transfer is using CRC checksums then
  747. you will see "CRC" to the right of the file name.  The record number should
  748. increment about every second or two at 1200 baud (unless the system you are
  749. downloading from is busy.)
  750.  
  751.     Selecting "ABORT XMODEM TRANSFER" from the "File" menu will cancel an
  752. XMODEM transfer in progress.
  753.  
  754.     After the last record has been received, the status line will revert to
  755. displaying the current and session time and the received file will be closed.
  756. The final XMODEM status line contents will be copied to the line containing
  757. the cursor as an aid to determining whether the transfer was successfull or
  758. not.  Remember that any errors during a "fast/unforgiving" XMODEM receive
  759. will render the received file useless.  Try rerunning the transfer in non-
  760. fast mode.
  761.  
  762.     Remember to feed squeezed (xxx.xQx) and archived (xxx.ARC) files through
  763. the appropriate utility before using them.  Both of these file types MUST be
  764. received in "binary" mode.
  765.  
  766.  
  767.     SENDING A FILE USING XMODEM:
  768.     ------- - ---- ----- ------
  769.  
  770.     Do whatever you have to do to prepare the host system to receive a file
  771. using XMODEM protocol.
  772.  
  773.     Select either "XMODEM (text) send" or "XMODEM (binary) send" from the
  774. "File" menu as appropriate, enter the name of an existing file into the file
  775. requester box.  If all is ok the bottom status line will display the type of
  776. transfer, the file name and the same status info as for an XMODEM receive.
  777.  
  778.     Within 5 to 10 seconds you should see the count of records sent start to
  779. increment, just as in the XMODEM receive.
  780.  
  781.     Selecting "ABORT XMODEM TRANSFER" in the "File" menu will cancel the
  782. transfer in progress.
  783.  
  784.     After the last record has been sent, the status line will revert to
  785. displaying the current and session time and the file will be closed.
  786.  
  787.  
  788.     SENDING FILES BETWEEN TWO TERMINALS:
  789.     ------- ----- ------- --- ---------
  790.  
  791.     When sending a file between two terminals you should always start the
  792. sending terminal first.  If the receiver is started first it may take 10 or
  793. 20 seconds longer for the transfer to start up and also the CRC transfer
  794. request can be missed causing the transfer to use the more error-prone
  795. additive checksum method.
  796.  
  797.  
  798. 7.  Auto-dialing:
  799.     ------------
  800.  
  801.     The "Dialing" menu contains options relating to use of the auto-dialing
  802. feature of Wtp.  With that menu you specify: a title identifying the system
  803. you are calling, a phone number to dial (which must start with a digit), and
  804. whether the number should be dialed automatically when the Settings file
  805. containing these settings is loaded.
  806.  
  807.     Note that all dialing functions assume the use of a Hayes compatible
  808. modem command set.
  809.  
  810.  
  811.     DIALING:
  812.     -------
  813.  
  814.     Selecting "dial number now" causes Wtp to first hang up the phone and
  815. then dial the phone number specified in the "Dialing" menu.  You should see
  816. something like:
  817.  
  818.         Dialing <title> at <number>
  819.         +++
  820.         ATH
  821.         ATDT <number>
  822.  
  823. after dialing is completed you should get a connect message from the modem
  824. within 10 to 20 seconds.  The dialing option will be disabled if no phone
  825. number has been specified.
  826.  
  827.  
  828.     HANGING UP:
  829.     ------- --
  830.  
  831.     Selecting "hang up the phone" will cause Wtp to send the commands to the
  832. Hayes compatible modem to disconnect the current call.
  833.  
  834.  
  835. 8.  Wtp Saved Settings Files:
  836.     --- ----- -------- -----
  837.  
  838.     Virtually all of the Wtp options you can specify in the menu (the exception
  839. being some of the VT-102 modes which have defined initial states), including
  840. function key definitions, user preferences, dialing options, transfer options
  841. and port settings, can be saved on disk in a Settings file.  Selecting the
  842. "save settings" option in the "Stuff" menu brings up a requester into which
  843. you enter the name of the file to receive the settings. Pressing RETURN or
  844. clicking 'Ok' will write out the current settings.
  845.  
  846.     The saved settings are restored via the "load settings" command in the
  847. "Stuff" menu.  Enter the same Settings file name as was used in the save.
  848. If all goes well then the bell will sound and your settings have been restored.
  849. If you specified "auto-dial when loaded" in the "Dial" menu then Wtp will also
  850. dial the associated number.
  851.  
  852.     If the file you asked to be loaded has been corrupted or is not a Wtp
  853. Settings file then no settings will be changed.
  854.  
  855.     The settings file capability allows you to create an entire library of
  856. settings for all the various systems you use, each customized for that
  857. particular system.
  858.  
  859.  
  860. 9.  Miscellaneous Features:
  861.     ------------- --------
  862.  
  863. Wtp Window Manipulations:
  864.  
  865.     The "send to back" and "bring to front" options in the "Stuff" menu allow
  866. you to place the Wtp terminal window in the back of other Workbench windows
  867. an so, if you started Wtp as a separate task, you can do CLI stuff or run other
  868. applications while Wtp is doing it's thing in the background.
  869.  
  870.     "mouse cursor keys" in "Screen" menu causes clicks of the left mouse button
  871. to be changed into cursor movement commands which are sent to the host.
  872.  
  873.     "reset session time", also in "Screen" menu, will reset the elapsed session
  874. time which is displayed on the status line, back to 0.  It is auto-matically
  875. reset whenever you dial a new number via the "Dial" menu.
  876.  
  877.  
  878. A.  REVISION HISTORY:
  879.     -------- -------
  880.  
  881. Changes from version 2 to version 3:
  882.  
  883.  - EXTENSIVE VT102 compatibility added.
  884.  
  885.  - programmable function keys.
  886.  
  887.  - added fast XMODEM option.
  888.  
  889.  - allow editing of speech bell phonemes.
  890.  
  891.  - BREAK generation added.
  892.  
  893.  - fixed cursor handling to work properly on systems with > 512K RAM.
  894.  
  895.  - split "send to back/bring to front" into separate items.
  896.  
  897.  - fixed bug in XMODEM transfers which caused them to hang if you were
  898.    using EVEN or MARK parity. Infinite thanks to Steve Plegge (aka Opus)
  899.    for help catching this one.
  900.  
  901.  
  902. B.  Things You Probably Didn't Want to Know:
  903.     ------ --- -------- ------ ---- -- ----
  904.  
  905.     a.  Format of a Saved Settings File:
  906.         ------ -- - ----- -------- ----
  907.  
  908.     The following information is provided so that industrious folk can change
  909. fields in the Settings file which are not currently user-alterable.  Note that
  910. the OFFSET and SIZE fields below are specified in bytes from the start of the
  911. file. All numbers are in HEX.
  912.  
  913.                 DEFAULT
  914. OFFSET SIZE     CONTENTS    FUNCTION
  915.  
  916.  0000   4        'tWtp'      Tag used to determine file type.
  917.  0004   2        3           Wtp version number that created the file.
  918.  0006   2        0E2         Size in bytes of following parameter data.
  919.  0008   2        0           Size in bytes of following function key defs.
  920.  000A   4        0           - spare bytes, reserved for future use -
  921.  
  922.  000E   2        0           Auto-wrap state, 1=enabled, 0=disabled.
  923.  0010   2        0           Local echo state.
  924.  0012   2        0           Line feed/newline state.
  925.  0014   1        1           Cursor type (0..3)
  926.  0015   1        2D          Cursor blink delay (in 16.6 mSec increments.)
  927.  0016   1        0           Bell type (0..2)
  928.  0017   1        0           - unused -
  929.  0018   2        2           Baud rate (0..6)
  930.  001A   2        4           Character format (0..5)
  931.  001C   2        1           Number of stop bits
  932.  001E   2        1           XON/XOFF handshake enabled flag.
  933.  0020   2        1           Text transfer, LF conversion option (0..2)
  934.  0022   2        1           Text transfer, strip control chars flag.
  935.  0024   2        1           XMODEM use CRC checksum flag.
  936.  0026   4        40          XMODEM no. of records to buffer before disk write.
  937.  002A   2        0           Dial on load flag.
  938.  002C   20       "(.."       Dial title string (0 terminated.)
  939.  004C   20       "(.."       Dial number string.
  940.  006C   2        0           XMODEM fast receive flag.
  941.  006E   2        1           VT102 auto-repeat enable flag.
  942.  0070   2        0           - used internally -
  943.  0072   2        0           Mouse cursor enable flag.
  944.  0074   2        0           - used internally -
  945.  0076   2        0           VT102 in VT52 mode flag.
  946.  0078   2        0           VT102 smooth scroll flag (not used currently.)
  947.  007A   2        0           VT102 screen reverse video (not used.)
  948.  007C   2        0           - used internally -
  949.  007E   0A       8080...     VT102 tab settings, 1 bit per column.
  950.  0088   20       ""          VT102 answerback string.
  951.  00A8   4        275000      Length of short break (in uSec.)
  952.  00AC   4        2000000     Length of long break (in uSec.)
  953.  00B0   20       0           - reserved for future use -
  954.  00D0   20       "AXTT..."   Speech bell phoneme string.
  955.  
  956. Function key definitions:
  957.  00F0   ??                   Strings for function key, prefixed by function
  958.                              key id byte and terminated with a 0 bytes. Extra
  959.                              0 bytes terminates list.
  960.